(function(){
	function Random(min,max) {
		if(typeof(min) === 'number') { min=min } else { min=1 };
		if(typeof(max) === 'number') { max=max } else { max=10 };
		return Math.floor(Math.random() * (max - min + 1)) + min;
	}
	let combo = {}, pA, MusicPl;
	const 
		l=37,//стрелка влево
		r=39,//стрелка вправо
		vn=40,//стрелка вниз
		vv=38,//стрелка вверх,
  		d=68,//буква d
  		i=73//буква i
		Cheats = {
			'Music': [1, l, r, vn, vn, vv, vv],
			'Snow Script': [1, l, l, r, r,],
			'UpToBoth': [1,vn,vv],
          	        'DII': [1, l, l, d, i, i],
                        'NY': [1, vv, vv, vv]
			//'Test':[1,40,38]
		};//Имя чита : Вводится комбинация клавиш в keyCod'ах или определенных выше константах, при последовательном вводе которой произойдет действие. Нулевой элемент массива - счетчик.
	document.body.addEventListener("keyup", function(e){
		for(let k in Cheats) {
			let c = k;
			k = Cheats[k];
			if(k[k[0]] == e.keyCode) {
				if(!combo[c]) combo[c] = []
				combo[c].push(e.key);
				console.log(combo);
				if(k[0] == k.length - 1) {
					//Далее выполнение действий для введенной комбинации
					switch(c) {
							//Тут происходит действие
                        case 'NY':
                                console.log('Cheat '+c+' activated!');
                                if(typeof Msgbox =='object') Msgbox.Show('Вы активировали секретный код: '+c,'',10);
                                TestNY();
                                break;
                      	case 'DII':
                      		console.log('Cheat '+c+' activated!');
                      		if(typeof Msgbox =='object') {
								Msgbox.Show('Вы активировали секретный код: '+c,'',10);
							}
                      		let cont = document.querySelector('#contanier');
                      		cont.insertAdjacentHTML('beforeBegin', '<video id="DIIRes" src="https://assets.blz-contentstack.com/v3/assets/blt45749e0fed8aa592/blt96fd519e78214a61/60262226c484333be943db8f/dark-wanderer-bg-max.mp4" style="position:absolute;width:100%;" autoplay loop mute></video><style>.DIIRes-show {opacity: .2}</style>');
                      		let DII = document.querySelector('#DIIRes');
                                if(playSound) playSound('/Media/d2ost.mp3');
                      		$(cont).css('opacity','0.2');
                      	break;
						case 'Music':
							if(!pA) {pA = new Audio();} else {pA.pause();}
							if(!pA.canPlayType('audio/mp3')) return;
							console.log('Cheat '+c+' activated!');
							if(!MusicPl) {MusicPl = {
								1:['Бетховен - Ангелы и Демоны','https://www.dropbox.com/s/z3qestte0d0xuij/%D0%9B%D1%8E%D0%B4%D0%B2%D0%B8%D0%B3%20%D0%92%D0%B0%D0%BD%20%D0%91%D0%B5%D1%82%D1%85%D0%BE%D0%B2%D0%B5%D0%BD%20-%20%D0%90%D0%BD%D0%B3%D0%B5%D0%BB%D1%8B%20%D0%B8%20%D0%B4%D0%B5%D0%BC%D0%BE%D0%BD%D1%8B.mp3?dl=1'],
								2:['Бетховен - Соната для ф-но №14','https://www.dropbox.com/s/a30kwmmzjf7ln6f/%D0%91%D0%B5%D1%82%D1%85%D0%BE%D0%B2%D0%B5%D0%BD%20%D0%9B%D1%8E%D0%B4%D0%B2%D0%B8%D0%B3%20%D0%92%D0%B0%D0%BD%20-%20%D0%A1%D0%BE%D0%BD%D0%B0%D1%82%D0%B0%20%D0%B4%D0%BB%D1%8F%20%D1%84-%D0%BD%D0%BE%20%E2%84%9614%20%D0%9B%D1%83%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%B2%20%D0%B4%D0%BE-%D0%B4%D0%B8%D0%B5%D0%B7%20%D0%BC%D0%B8%D0%BD%D0%BE%D1%80%D0%B5.mp3?dl=1'],
								3:['Вивальди Времена года - Лето','https://www.dropbox.com/s/zw1gvxi0s9vfqhh/%D0%92%D0%B8%D0%B2%D0%B0%D0%BB%D1%8C%D0%B4%D0%B8%20%D0%90%D0%BD%D1%82%D0%BE%D0%BD%D0%B8%D0%BE%20-%20%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B0%20%D0%B3%D0%BE%D0%B4%D0%B0.%20%D0%9B%D0%B5%D1%82%D0%BE%20-%20Presto.mp3?dl=1'],
								4:['Вагнер Рихард - Полет валькирий из оперы «Валькирия»','https://www.dropbox.com/s/ky4tq3b91blp4qe/%D0%92%D0%B0%D0%B3%D0%BD%D0%B5%D1%80%20%D0%A0%D0%B8%D1%85%D0%B0%D1%80%D0%B4%20-%20%D0%9F%D0%BE%D0%BB%D0%B5%D1%82%20%D0%B2%D0%B0%D0%BB%D1%8C%D0%BA%D0%B8%D1%80%D0%B8%D0%B9%20%D0%B8%D0%B7%20%D0%BE%D0%BF%D0%B5%D1%80%D1%8B%20%C2%AB%D0%92%D0%B0%D0%BB%D1%8C%D0%BA%D0%B8%D1%80%D0%B8%D1%8F%C2%BB%20%28%D1%82%D0%B5%D1%82%D1%80%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F%20.mp3?dl=1'],
								5:['Вивальди Антонио - Времена года. Весна','https://www.dropbox.com/s/y7p33jckz69obya/%D0%92%D0%B8%D0%B2%D0%B0%D0%BB%D1%8C%D0%B4%D0%B8%20%D0%90%D0%BD%D1%82%D0%BE%D0%BD%D0%B8%D0%BE%20-%20%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B0%20%D0%B3%D0%BE%D0%B4%D0%B0.%20%D0%92%D0%B5%D1%81%D0%BD%D0%B0%20-%20Allegro.mp3?dl=1']
							}}
							var Rnd = Random(1,5);
							pA.src = MusicPl[Rnd][1];
							pA.play();
							if(typeof Msgbox =='object') {
								Msgbox.Show('Вы активировали секретный код: '+c+'<br><i>Комбинация:<i><br>'+combo[c].toString());
								$('.cMusic').fadeOut(2500);
								Msgbox.Show('Играет композиция:<br>'+MusicPl[Rnd][0],'',50,'cMusic');
							}
							break;

						case 'Test':
							console.log('Cheat '+c+' activated!');
							console.log('И понял Антоха, что поступил плохо!');
							if(typeof Msgbox =='object') {
								Msgbox.Show('Вы активировали секретный код: '+c,'',10);
								Msgbox.Show('И понял Антоха, что поступил плохо!','',10);
							}
							break;

						case 'Snow Script':
							if(!$(document).snowfall) return;
							var SnowScript = getCookie('SnowScript');
							if ((!SnowScript) || (SnowScript == 'ON')) {SnowScript = 'OFF';} else if (SnowScript == 'OFF') {SnowScript = 'ON';}
							switch(SnowScript) {
								case 'OFF':
									$(document).snowfall('clear');
									Msgbox.Show('Вы активировали секретный код: '+c+'<br><i>Комбинация:<i><br>'+combo[c].toString(),'',10);
									Msgbox.Show('Скрипт снега выключен.<br>Для включения повторите код.','',10);
									break;
								case 'ON':
									$(document).snowfall({collection: '.snowLine', collectionHeight: 20, flakeIndex: 999, flakeCount: 200, minSize: 3});
									setTimeout(function(){$('canvas[height=20]').css({left: function(i,v){return parseFloat(v) + 4}, width: function(i,v){return parseFloat(v)-20}})}, 3000);
									Msgbox.Show('Вы активировали секретный код: '+c+'<br><i>Комбинация:<i><br>'+combo[c].toString(),'',10);
									Msgbox.Show('Скрипт снега включен.<br>Для отключения повторите код.','',10);
									break;
							}
							let date = new Date(new Date().getTime() + 7776000 * 1000);
							document.cookie = "SnowScript="+SnowScript+"; path=/; expires=" + date.toUTCString();
							break;
						case 'UpToBoth':
							var cDeg = $('body').data('rotateX');
							cDeg = (isNaN(cDeg) ? 0 : cDeg) + 180;
							$('body').data('rotateX', cDeg);
							$('body').css('transform','rotate3d(1,0,0,'+cDeg+'deg)');
							console.log(cDeg);
							break;
					}
					k[0] = 1;
					combo[c] = [];
					break;
				}
				k[0] = k[0] + 1;
			} else {
				k[0] = 1;
				combo[c] = [];
			}
		}
	}, combo, pA, MusicPl);
	console.log('CheatCodes is loaded');
})()